1. Technical Field
The present invention generally relates to a data storage device, and more particularly, to a method for encoding and decoding an error correction code of a data storage device.
2. Related Art
In general, an information transmission path may be defined as a channel. When information is transmitted using wired communication, a channel is a transmission line through which the information is transmitted. When information is transmitted using radio communication, a channel is the air through which electromagnetic waves travel.
A process, in which a data storage device stores data and the stored data is read from the data storage device, may also be defined as a channel. In this case, the channel may be the passage of time from the time point at which the data storage device stores data to the time point at which the stored data is read from the data storage device. Furthermore, in this case, the channel may be a physical path through which the data storage device stores data and the stored data is read from the data storage device.
While data is being transmitted through the channel, the data may be contaminated. That is, while the data is being transmitted through the channel, the data may include an error. Research into an apparatus and a method for detecting the error included in the data, removing the detected error, and restoring the original data has been continuously conducted.
A process, in which an error correction code (ECC) is added to data before the data is transmitted and transmission data is generated, is called error correction code encoding. Furthermore, a process, in which the data is received, the error correction code added to the received data is separated from the data, and the original data is restored, is called error correction code decoding.
The rate of an error included in data may be high according to the characteristics of a channel. As an error generation rate is high, an error correction code encoding and decoding method for restoring data may be complicated, or hardware for performing error correction code encoding and decoding may be complicated.